/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
using System.Collections.Generic;

using Aliyun.Acs.Core;

namespace Aliyun.Acs.CloudPhoto.Model.V20170711
{
	public class CreateTransactionResponse : AcsResponse
	{

		private string code;

		private string message;

		private string requestId;

		private string action;

		private CreateTransaction_Transaction transaction;

		public string Code
		{
			get
			{
				return code;
			}
			set	
			{
				code = value;
			}
		}

		public string Message
		{
			get
			{
				return message;
			}
			set	
			{
				message = value;
			}
		}

		public string RequestId
		{
			get
			{
				return requestId;
			}
			set	
			{
				requestId = value;
			}
		}

		public string Action
		{
			get
			{
				return action;
			}
			set	
			{
				action = value;
			}
		}

		public CreateTransaction_Transaction Transaction
		{
			get
			{
				return transaction;
			}
			set	
			{
				transaction = value;
			}
		}

		public class CreateTransaction_Transaction
		{

			private CreateTransaction_Upload upload;

			public CreateTransaction_Upload Upload
			{
				get
				{
					return upload;
				}
				set	
				{
					upload = value;
				}
			}

			public class CreateTransaction_Upload
			{

				private string bucket;

				private string fileId;

				private string ossEndpoint;

				private string objectKey;

				private string sessionId;

				private string accessKeyId;

				private string accessKeySecret;

				private string stsToken;

				public string Bucket
				{
					get
					{
						return bucket;
					}
					set	
					{
						bucket = value;
					}
				}

				public string FileId
				{
					get
					{
						return fileId;
					}
					set	
					{
						fileId = value;
					}
				}

				public string OssEndpoint
				{
					get
					{
						return ossEndpoint;
					}
					set	
					{
						ossEndpoint = value;
					}
				}

				public string ObjectKey
				{
					get
					{
						return objectKey;
					}
					set	
					{
						objectKey = value;
					}
				}

				public string SessionId
				{
					get
					{
						return sessionId;
					}
					set	
					{
						sessionId = value;
					}
				}

				public string AccessKeyId
				{
					get
					{
						return accessKeyId;
					}
					set	
					{
						accessKeyId = value;
					}
				}

				public string AccessKeySecret
				{
					get
					{
						return accessKeySecret;
					}
					set	
					{
						accessKeySecret = value;
					}
				}

				public string StsToken
				{
					get
					{
						return stsToken;
					}
					set	
					{
						stsToken = value;
					}
				}
			}
		}
	}
}
